Routing devices within a network, often referred to as routers, maintain tables of routing information that describe available routes through the network. Upon receiving an incoming packet, the router examines information within the packet and forwards the packet in accordance with the routing information. In order to maintain an accurate representation of the network, routers exchange routing information in accordance with a defined routing protocol, such as the Border Gateway Protocol (BGP).
The term “link” is often used to refer to the connection between two devices on a network. The link may be a physical medium, such as a copper wire, a coaxial cable, any of a host of different fiber optic lines or a wireless connection. In addition, network devices may define “virtual” or “logical” links, and map the virtual links to the physical links.
The term “peering link” is used to refer to a link that connects devices, e.g., routers, located within separate networks, which are often under the control of separate administrative entities. As networks grow in size and complexity, the traffic on any given link, including peering links, may approach a maximum bandwidth capacity for the link, thereby leading to congestion and loss.
Multi-protocol Label Switching (MPLS) is a mechanism used to engineer traffic patterns within Internet Protocol (IP) networks. By utilizing MPLS, a source device can request a path through a network, i.e., a Label Switched Path (LSP). An LSP defines a distinct path through the network to carry MPLS packets from the source device to a destination device. A short label associated with a particular LSP is affixed to packets that travel through the network via the LSP. Routers along the path cooperatively perform MPLS operations to forward the MPLS packets along the established path. LSPs may be used for a variety of traffic engineering purposes including bandwidth management and quality of service (QoS).
A variety of protocols exist for establishing LSPs. For example, one such protocol is the label distribution protocol (LDP). Another type of protocol is a resource reservation protocol, such as the Resource Reservation Protocol with Traffic Engineering extensions (RSVP-TE). RSVP-TE uses constraint information, such as bandwidth availability, to compute and establish LSPs within a network. RSVP-TE may use bandwidth availability information accumulated by a link-state interior routing protocol, such as the Intermediate System—Intermediate System (ISIS) protocol or the Open Shortest Path First (OSPF) protocol. RSVP-TE may use a modified version of the SPF algorithm, known as Constrained Shortest Path First (CSPF), to compute a shortest path that conforms to the specified constraints. In order to calculate such a path, information about these constraints must be available for each link, and must be distributed to all of the nodes that calculate paths. RSVP-TE may then set up an LSP along the path that it computed with CSPF.
One common implementation is to establish an LSP within a network for directing traffic along specific paths to exit points of that network. When selecting the path within the network, however, the interior routing protocol is generally unaware of links outside of the network. For example, peering links are often under the control of two administrative entities, and typically do not support MPLS. As a result, a problem may arise where the network has multiple exit points, but the selected shortest path terminates at an exit point with a congested peering link. In this situation, another exit point with sufficient bandwidth may have been preferable, but was not selected as no constraint information for the peering link was known.